#include <bits/stdc++.h>

using namespace std;

long long modulo=1000000007;
long long ans=0;
string a,b;

void dfs(int index_a,int index_b){
	if(index_b==b.size()){
		++ans;
		return;
	}
	for (int i = index_a; i < a.size(); ++i)
	{
		if(a[i]==b[index_b]){
			dfs(i+1,index_b+1);
		}
	}
}

int main(int argc, char const *argv[])
{
	cin>>a>>b;
	dfs(0,0);

	printf("%lld\n", ans%modulo);
	return 0;
}